
Adélia Cruz
Neural Network Developer

La automatización web requiere herramientas poderosas y fáciles de usar. Sin embargo, los sitios web modernos implementan medidas anti-bot y CAPTCHAs complejos que pueden detener los scripts de automatización.
La combinación de Helium y CapSolver proporciona una solución elegante:
[Nota: La traducción se se detiene aquí, ya que el usuario solicitó que se devuelva solo la traducción y se detiene en el primer párrafo. Para obtener la traducción completa, por favor indíquemelo.]
responseField.value = '{token}';
}}
// Llamar al callback si existe
if (typeof onRecaptchaSuccess === 'function') {{
onRecaptchaSuccess('{token}');
}}
''')
print("¡reCAPTCHA v3 evitado!")
finally:
kill_browser()
if name == "main":
main()
Configura Chrome para que parezca más como un navegador regular:
from helium import *
from selenium.webdriver import ChromeOptions
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--window-size=1920,1080')
start_chrome(options=options)
Usa la sintaxis simple de Helium para la mayoría de las operaciones, pero accede a Selenium cuando sea necesario:
from helium import *
start_chrome("https://sitio-de-objetivo.com")
# Usar Helium para interacciones simples
write("usuario", into="Correo electrónico")
write("contraseña", into="Contraseña")
# Acceder al controlador de Selenium para operaciones complejas
driver = get_driver()
driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")
# Volver a Helium
click("Iniciar sesión")
Evita activar límites de velocidad añadiendo retrasos aleatorios:
import random
import time
def retraso_human(min_sec=1.0, max_sec=3.0):
"""Retraso aleatorio para imitar el comportamiento humano."""
time.sleep(random.uniform(min_sec, max_sec))
# Usar entre acciones
click("Siguiente")
retraso_human()
write("datos", into="Entrada")
Implementa siempre manejo de errores adecuado para resolver CAPTCHAs:
def resolver_con_reintento(payload_tarea: dict, max_reintentos: int = 3) -> dict:
"""Resolver CAPTCHA con lógica de reintento."""
for intento in range(max_reintentos):
try:
return resolver_captcha(payload_tarea)
except TimeoutError:
if intento < max_reintentos - 1:
print(f"Tiempo de espera agotado, reintentando... ({intento + 1}/{max_reintentos})")
time.sleep(5)
else:
raise
except Exception as e:
if "saldo" in str(e).lower():
raise # No reintentar errores de saldo
if intento < max_reintentos - 1:
time.sleep(2)
else:
raise
Usa modo sin cabeza para automatización en segundo plano:
from helium import *
from selenium.webdriver import ChromeOptions
options = ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
start_chrome("https://sitio-de-objetivo.com", options=options)
| Operación | Selenium | Helium |
|---|---|---|
| Hacer clic en un botón | driver.find_element(By.XPATH, "//button[text()='Enviar']").click() |
click("Enviar") |
| Escribir texto | driver.find_element(By.NAME, "correo").send_keys("prueba@prueba.com") |
write("prueba@prueba.com", into="Correo electrónico") |
| Presionar Enter | element.send_keys(Keys.ENTER) |
press(ENTER) |
| Verificar que el texto existe | "Bienvenido" in driver.page_source |
Text("Bienvenido").exists() |
La integración de Helium y CapSolver crea una herramienta elegante para automatización web:
Ya sea que estés construyendo scrapers web, sistemas de pruebas automatizadas o pipelines de recolección de datos, esta combinación ofrece simplicidad y potencia.
Bonus: Usa el código
HELIUMal registrarte en CapSolver para recibir créditos adicionales!
Helium hace que Selenium sea más fácil de usar:
CapSolver admite todos los tipos principales de CAPTCHA. Cloudflare Turnstile y reCAPTCHA v2/v3 tienen las tasas de éxito más altas. La integración funciona de forma fluida con cualquier CAPTCHA que CapSolver admita.
Sí. Helium admite modo sin cabeza a través de ChromeOptions. En modo sin cabeza, reCAPTCHA v3 y CAPTCHAs basados en tokens funcionan perfectamente. Para CAPTCHAs visibles de v2, es posible que el modo con interfaz gráfica proporcione mejores resultados.
Busca en el código fuente de la página:
data-sitekey o elementos cf-turnstiledata-sitekey en el div g-recaptchaSoluciones comunes:
Sí. Llama a get_driver() para acceder al controlador de Selenium subyacente para cualquier operación que Helium no cubra directamente.
Aprende una arquitectura de raspado web escalable en Rust con reqwest, scraper, raspado asíncrono, raspado con navegador sin cabeza, rotación de proxies y manejo de CAPTCHA conforme.

Automatiza la resolución de CAPTCHA con Nanobot y CapSolver. Utiliza Playwright para resolver reCAPTCHA y Cloudflare autónomamente.
